package com.leinao.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * 
 * 配置环境变量
 * @author  wangshoufa 
 * @date 2018年10月24日 上午9:10:05
 *
 */
@RefreshScope
@Component
public class EnvironmentConfig {
	
	//这个必须与前端设定的值一致
	@Value("${breakpoint.upload.chunkSize}")
    private Long chunkSize;
	
	/**
	 * 文件路径
	 */
	@Value("${basePath}")
	private String basePath;
	/**
	 * 前缀
	 */
	@Value("${remote.prefix}")
	private String prefix;
	
	/**
	 * 单位:s
	 */
	@Value("${remote.expireSeconds}")
	private Integer expireSeconds;
	/**
	 * redis地址
	 */
	@Value("${spring.redis.host}")
    private String host;
    /**
     * redis端口号
     */
    @Value("${spring.redis.port}")
    private Integer port;
    /**
     * redis密码
     */
    @Value("${spring.redis.password}")
    private String password;
    /**
     * redis超时时间
     */
    @Value("${spring.redis.timeout}")
    private Integer timeout;
    /**
     * redis最大空闲连接
     */
    @Value("${spring.redis.pool.max-idle}")
    private Integer maxIdle;
    /**
     * redis最大阻塞等待时间
     */
    @Value("${spring.redis.pool.max-wait}")
    private Long maxWaitMillis;

	/**
	 * 存放公开代码的位置
	 */
	@Value("${projectPath}")
	private String projectPath;

	/**
	 * 存放数据集的位置
	 */
	@Value("${datasetPath}")
	private String datasetPath;
	/**
	 * 存放数据集的位置
	 */
	@Value("${modelsPath}")
	private String modelsPath;

	/**
	 * 数据库驱动名
	 */
	@Value("${jdbc.driverClassName}")
	private String jdbcDriverClassName;
	
	/**
	 * 数据库地址url
	 */
	@Value("${jdbc.url}")
	private String jdbcUrl;
	/**
	 * 数据库用户名
	 */
	@Value("${jdbc.username}")
	private String jdbcUsername;
	/**
	 * 数据库密码
	 */
	@Value("${jdbc.password}")
	private String jdbcPassword;

	/**
	 * rest-server地址
	 */
	@Value("${rest.server.url}")
	private String restServerUrl;

	/**
	 * git服务地址
	 */
	@Value("${git.remote.ip}")
	private String gitIP;

	/**
	 * git服务端口
	 */
	@Value("${git.remote.port}")
	private String gitPort;

	/**
	 * git服务用户名
	 */
	@Value("${git.remote.username}")
	private String gitUsername;

	/**
	 * git服务密码
	 */
	@Value("${git.remote.password}")
	private String gitPassword;

	/**
	 * 认证方式：1-ssh，2-http
	 */
	@Value("${git.remote.auth.type}")
	private Integer gitAuthType;

	/**
	 * git文件存储路径
	 */
	@Value("${git.remote.path}")
	private String gitPath;

	public String getPrefix() {
		return prefix;
	}

	public Integer getExpireSeconds() {
		return expireSeconds;
	}

	public String getHost() {
		return host;
	}

	public Integer getPort() {
		return port;
	}

	public String getPassword() {
		return password;
	}

	public Integer getTimeout() {
		return timeout;
	}

	public Integer getMaxIdle() {
		return maxIdle;
	}

	public Long getMaxWaitMillis() {
		return maxWaitMillis;
	}
	
	public Long getChunkSize() {
		return chunkSize;
	}

	public String getBasePath() {
		return basePath;
	}

	public String getProjectPath() {
		return projectPath;
	}

	public String getDatasetPath() {
		return datasetPath;
	}

	public String getModelsPath() {
		return modelsPath;
	}

	public String getJdbcDriverClassName() {
		return jdbcDriverClassName;
	}

	public void setJdbcDriverClassName(String jdbcDriverClassName) {
		this.jdbcDriverClassName = jdbcDriverClassName;
	}

	public String getJdbcUrl() {
		return jdbcUrl;
	}

	public void setJdbcUrl(String jdbcUrl) {
		this.jdbcUrl = jdbcUrl;
	}

	public String getJdbcUsername() {
		return jdbcUsername;
	}

	public void setJdbcUsername(String jdbcUsername) {
		this.jdbcUsername = jdbcUsername;
	}

	public String getJdbcPassword() {
		return jdbcPassword;
	}

	public void setJdbcPassword(String jdbcPassword) {
		this.jdbcPassword = jdbcPassword;
	}

	public String getRestServerUrl() {
		return restServerUrl;
	}

	public String getGitIP() {
		return gitIP;
	}

	public String getGitPort() {
		return gitPort;
	}

	public String getGitUsername() {
		return gitUsername;
	}

	public String getGitPassword() {
		return gitPassword;
	}

	public Integer getGitAuthType() {
		return gitAuthType;
	}

	public String getGitPath() {
		return gitPath;
	}
}
